window.addEventListener('load', function () {
    // 1.获取元素
    // 去注册
    let goRegister = document.querySelector('.goRegister')
    // 去登陆
    let goLogin = document.querySelector('.goLogin')
    // 注册页面
    let register = document.querySelector('.register')
    // 登录页面
    let login = document.querySelector('.login')
    // 获取注册页面中的账户跟密码元素
    let rusername = document.querySelector('.register [name=username]')
    let rpassword = document.querySelector('.register [name=password]')
    // 获取登陆页面中的账户跟密码元素
    let lusername = document.querySelector('.login [name=username]')
    let lpassword = document.querySelector('.login [name=password]')
    // 注册按钮
    // let btnregister = document.querySelector('.btnregister')



    // 2.实现登陆页面跟注册页面的显示跟隐藏
    goRegister.addEventListener('click', function () {
        login.style.display = 'none'
        register.style.display = 'block'
    })

    goLogin.addEventListener('click', function () {
        register.style.display = 'none'
        login.style.display = 'block'
    })

    // 添加表单的校验规则
    // 比如，验证一个用户名和密码
    function test() {
        return {
            // 指定需要校验的字段名称
            fields: {
                username: {
                    // 这里username是 input 的name属性值，表示对这个输入框进行验证
                    validators: {
                        // 添加真正的校验规则
                        notEmpty: {
                            //不能为空
                            message: '用户名不能为空.' // 如果不满足校验规则，则给出这句提示
                        },
                        stringLength: {
                            //检测长度
                            min: 2, // 最少2位
                            max: 15, // 最多15位
                            message: '用户名需要2~15个字符'
                        }
                    }
                },
                password: {
                    validators: {
                        notEmpty: {
                            message: '密码不能为空'
                        },
                        stringLength: {
                            //检测长度
                            min: 6,
                            max: 15,
                            message: '密码需要6~15个字符'
                        }
                    }
                }
            }
        }
    }

    // 单击实现注册
    // 比如，注册
    // $('.register form')：获取表单
    // on：jq中绑定事件的方法
    // 'success.form.bv'：表单元素submit的默认提交事件类型
    // jq中绑定事件的语法： $('选择器').on('事件类型'，事件处理函数)
    $('.register form')
        .bootstrapValidator(test())
        .on('success.form.bv', function (e) {
            e.preventDefault()
            // 通过验证，这里的代码将会执行。我们将Ajax请求的代码放到这里即可
            // 实现注册
            // 1.收集数据
            let username = rusername.value
            let password = rpassword.value

            // 2.发起axios请求
            axios({
                method: 'post',
                url: '/api/register',
                data: { username, password }

            }).then(res => {
                if (res.data.code == 0) {
                    toastr.success(res.data.message)
                    // 登陆框填写框内容的覆盖
                    lusername.value = rusername.value
                    lpassword.value = rpassword.value
                    // 清空输入框
                    rusername.value = ''
                    rpassword.value = ''
                    // 跳转到登陆框
                    goLogin.click()
                } else if (res.data.code == 1) {
                    toastr.warning(res.data.message)
                }
            })
        })


    // 登陆
    $('.login form')
        .bootstrapValidator(test())
        .on('success.form.bv', function (e) {
            e.preventDefault()
            // 通过验证，这里的代码将会执行。我们将Ajax请求的代码放到这里即可
            let username = lusername.value
            let password = lpassword.value


            axios({
                method: 'post',
                url: '/api/login',
                data: { username, password }

            }).then(res => {
                console.log(res);
                if (res.data.code == 0) {
                    localStorage.setItem('token_79', res.data.token)
                    toastr.success(res.data.message)
                    location.href = './index.html'

                } else if (res.data.code == 1) {
                    toastr.info(res.data.message)
                }
            })
        })










})